<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="app">
        <p>插槽和传值的区别：传值只能传数据，插槽还可以传dom结构</p>
        <son1>
            <template v-slot:default="scope">
                {{scope.user.firstName}}
            </template>
        </son1>
    </div>
    <template id="son1">
        <div>
            <slot name="sh"></slot>
            <p>我是子组件</p>
            <!-- 匿名插槽，没有约束条件什么结构都可以放，无家可归的人的收容所 -->
            <!-- <slot></slot> -->
            <!-- 具名插槽，各回各家，各找各妈 -->
            <!-- <slot name="zz"></slot> -->
            <!-- 作用域插槽：将子组件的数据传给父组件，由父组件决定传什么来让子组件显示 -->
            <slot :user="user">{{user.lastName}}</slot>
        </div>
    </template>
    <script src="../vue.js"></script>
    <script>
        let vm = new Vue({
            el: '#app',
            data: {
                
            },
            components: {
                son1: {
                    template: '#son1',
                    data() {
                        return {
                            user: {
                                firstName: 'Jack1111',
                                lastName: 'Ma'
                            }
                        }
                    }
                }
            }
        })
    </script>
</body>
</html>